#ifndef _HALINTDIST_H_
#define _HALINTDIST_H_

#include <hyper_t.h>

void hal_undefined_distribute (void * sframe);
sysstus_t hal_swi_distribute (uint_t swinbr, void * sframe);
void hal_preincabort_distribute (void * sframe);
void hal_dataabort_distribute (void * sframe);
void hal_irq_distribute (void * sframe);
void hal_frq_distribute (void * sframe);

/* 中断分发 */

void intdist_mint_distribute (void * sframe, uint_t intnbr);
void intdist_eint_distribute (void * sframe, uint_t intnbr, uint_t ofststart, uint_t ofstend);
void intdist_sint_distribute (void * sframe, uint_t intnbr, uint_t ofststart, uint_t ofstend);

/* 中断处理 */

void intdist_run_isrhandle (void * sframe, uint_t ifdidx);

#endif
